/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package olimpus.dom;

import olimpus.genericos.Coneccion;
import olimpus.obj.Personas;
import olimpus.per.PersonasPer;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Leonardo
 */
public class PersonasDom
{  
   public static Personas obtenerPersonas(String xCiPersona) throws Exception
   {  
       Personas objPersonas = new Personas();
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           objPersonas = PersonasPer.obtenerPersonas(con, xCiPersona);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(PersonasDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return objPersonas;
   }

   public static boolean existePersonas(String xCiPersona) throws Exception
   {  
       boolean existe;
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           existe = PersonasPer.existePersonas(con, xCiPersona);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(PersonasDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return existe;
   }

   public static ArrayList<Personas> obtenerColeccionPersonas(String xTipoPersona) throws Exception
   {  
       ArrayList<Personas> colPersonas = new ArrayList<Personas>();
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           colPersonas = PersonasPer.obtenerColeccionPersonas(con ,xTipoPersona);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(PersonasDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return colPersonas;
   }
   
   public static ArrayList<Personas> busquedaColeccionPersonas(String xTipoPersona, String xTextoBuscar) throws Exception
   {  
       ArrayList<Personas> colPersonas = new ArrayList<Personas>();
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           colPersonas = PersonasPer.busquedaColeccionPersonas(con, xTipoPersona, xTextoBuscar);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(PersonasDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return colPersonas;
   }

   public static void altaPersonas(Personas xObjPersonas) throws Exception
   {  
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           PersonasPer.altaPersonas(con, xObjPersonas);
           con.commit();
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(PersonasDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
   }

   public static void bajaPersonas(Personas xObjPersonas) throws Exception
   {  
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           PersonasPer.bajaPersonas(con, xObjPersonas);
           con.commit();
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(PersonasDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
   }

   public static void modificaPersonas(Personas xObjPersonas) throws Exception
   {  
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           PersonasPer.modificaPersonas(con, xObjPersonas);
           con.commit();
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(PersonasDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
   }
}

